package cn.wolfcode.wolf2w.service;

import cn.wolfcode.wolf2w.domain.UserInfo;

import java.util.List;

public interface IUserInfoService {
	/**
	 * 新增
	 * @param userInfo
	 */
	void save(UserInfo userInfo);

	/**
	 * 更新
	 * @param userInfo
	 */
	void update(UserInfo userInfo);

	/**
	 * 删除
	 * @param id
	 */
	void delete(String id);

	/**
	 * 查询单个
	 * @param id
	 * @return
	 */
	UserInfo get(String id);

	/**
	 * 查询全部
	 * @return
	 */
	List<UserInfo> list();

	/**
	 * 检查手机号格式/是否已被注册
	 */
	boolean checkPhone(String phone);

	/**
	 * 发送验证码
	 */
	void sendVerifyCode(String phone);

	/**
	 * 注册
	 */
	void regist(String phone, String nickname, String password, String rpassword, String verifyCode);

	/**
	 * 验证账号密码
	 */
	UserInfo findByPhoneByPassword(String username, String password);

	/**
	 * 持久化用户收藏的攻略
	 * @param list
	 */
	void updateStrategyFavor(List<String> list);
	/**
	 * 持久化用户收藏的游记
	 * @param list
	 */
	void updateTravelFavor(List<String> list);

	/**
	 * 根据城市名字查询用户
	 * @param city
	 * @return
	 */
	List<UserInfo> findByCity(String city);
}
